package main

import "fmt"

func main() {
	/*
		值类型：此改变副本的值，不会改变变量本身的值（数组、基本数据类型）
		引用类型：此改变副本的值，会改变本身的值（切片）
	*/
	//值类型：基本数据类型 和 数组都是值类型
	//var a = 10
	//b := a
	//a = 20
	//fmt.Printf("%T,%T\n", a, b)

	//var arr1 = [...]int{1, 2, 3}
	//arr2 := arr1
	//arr1[0] = 11
	//
	//fmt.Println(arr1)
	//fmt.Println(arr2)

	//切片
	//引用类型：
	//var arr1 = []int{1, 2, 3}
	//arr2 := arr1
	//arr1[0] = 11
	//fmt.Println(arr1)
	//fmt.Println(arr2)

	var arr1 = []int{1, 2, 3, 4}
	arr2 := arr1
	arr2[0] = 111
	fmt.Println(arr1)
	fmt.Println(arr2)
}
